home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / dejagnu.lha / dejagnu-1.0.1 / expect / configure.in < prev    next >
Text File  |  1993-04-27  |  4KB  |  180 lines

  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_INIT(exp_global.h)
  3. AC_CONFIG_HEADER(exp_conf.h)
  4. AC_PROG_INSTALL
  5. AC_PROG_RANLIB
  6.  
  7. AC_PID_T
  8.  
  9. #
  10. # Look for various header files
  11. #
  12. AC_HEADER_CHECK(string.h, ,AC_DEFINE(NO_STRING_H))
  13. AC_HEADER_CHECK(stdlib.h, ,AC_DEFINE(NOSTDLIB))
  14. AC_HEADER_CHECK(sys/stropts.h, AC_DEFINE(HAVE_STROPTS_H))
  15. AC_HEADER_CHECK(sys/sysconfig.h, AC_DEFINE(HAVE_SYSCONF_H))
  16. AC_HEADER_CHECK(sys/fcntl.h, AC_DEFINE(HAVE_SYS_FCNTL_H))
  17. AC_HEADER_CHECK(sys/sysmacros.h, AC_DEFINE(HAVE_SYSMACROS_H))
  18. AC_UNISTD_H
  19.  
  20. #
  21. # Look for various functions
  22. #
  23. AC_FUNC_CHECK(memcpy, ,AC_DEFINE(NO_MEMCPY))
  24. AC_FUNC_CHECK(waitpid, ,AC_DEFINE(NOWAITPID))
  25. AC_FUNC_CHECK(wait4, ,AC_DEFINE(HAVE_WAIT4))
  26. AC_FUNC_CHECK(sysconf, AC_DEFINE(HAVE_SYSCONF))
  27.  
  28. #
  29. # check how signals work
  30. #
  31.  
  32. # Check for the data type of the function used in signal(). This
  33. # must be before the test for rearming.
  34. echo checking return type of signal handlers
  35. AC_HEADER_EGREP([(void|sighandler_t).*signal], signal.h, retsigtype=void,AC_DEFINE(RETSIGTYPE, int) retsigtype=int)
  36.  
  37. # FIXME: check to see it alarm exists
  38. # Check to see it signals need to be re-armed after use.
  39. echo checking to see if signals need to be re-armed
  40. AC_TEST_PROGRAM([
  41. #include <signal.h>
  42. #define RETSIGTYPE $retsigtype
  43.  
  44. void
  45. sigquit_handler(n)
  46. int n;
  47. {
  48. }
  49.  
  50. main()
  51. {
  52.     if (0 == fork()) {
  53.         unlink("core");
  54.         signal(SIGQUIT,sigquit_handler);
  55.         kill(getpid(),SIGQUIT);
  56.         kill(getpid(),SIGQUIT);
  57.     } else {
  58.         int status;
  59.  
  60.         wait(&status);
  61.         exit(unlink("core")==-1?0:1);
  62.     }
  63. }], ,AC_DEFINE(REARM_SIG))
  64.  
  65. # HPUX7 has trouble with the big cat so split it
  66. # Owen Rees <rtor@ansa.co.uk> 29Mar93 
  67. SEDDEFS="${SEDDEFS}CONFEOF
  68. cat >> conftest.sed <<CONFEOF
  69. "
  70. #
  71. # Look for various features to determine what kind of pty
  72. # we have. For some weird reason, ac_compile_check would not
  73. # work, but ac_test_program does.
  74. #
  75. echo checking for HP style pty allocation
  76. # following test fails on DECstations and other things that don't grok -c
  77. # but that's ok, since they don't have PTYMs anyway
  78. if test -c /dev/ptym/ptyp0 2>>/dev/null ; then
  79.     AC_DEFINE(HAVE_PTYM)
  80. fi
  81.  
  82. echo checking for HP style pty-trapping
  83. AC_HEADER_EGREP([struct.*request_info], sys/ptyio.h, AC_DEFINE(HAVE_PTYTRAP), )
  84.  
  85. echo checking for AIX new-style pty allocation
  86. if test -r /dev/ptc -a -r /dev/pts ; then
  87.     AC_DEFINE(HAVE_PTC_PTS)
  88. fi
  89.  
  90. echo checking for SGI old-style pty allocation
  91. if test -r /dev/ptc -a ! -r /dev/pts ; then
  92.     AC_DEFINE(HAVE_PTC)
  93. fi
  94.  
  95. echo checking for SVR4 style pty allocation
  96. if test -r /dev/ptmx ; then
  97.   AC_DEFINE(HAVE_PTMX)
  98.   # aargg. Some systems need libpt.a to use /dev/ptmx
  99.     echo checking for libpt.a
  100.     AC_FUNC_CHECK(ptsname, ,LIBS=-lpt)
  101. fi
  102.  
  103. AC_FUNC_CHECK(tcgetattr, tcgetattr=1)
  104. AC_FUNC_CHECK(tcsetattr, tcsetattr=1)
  105. if test $tcgetattr -a $tcsetattr ; then
  106.     AC_DEFINE(POSIX)
  107. fi
  108.  
  109. # first check for the pure bsd
  110. echo checking for struct sgttyb
  111. AC_TEST_PROGRAM([#include <sgtty.h>
  112. main()
  113. {
  114.   struct sgttyb tmp;
  115.   exit(0);
  116. }], AC_DEFINE(HAVE_SGTTYB) PTY_TYPE=sgttyb)
  117.  
  118. # next check for the older style ttys
  119. echo checking for struct termio
  120. AC_TEST_PROGRAM([#include <termio.h>
  121. main()
  122. {
  123.   struct termio tmp;
  124.   exit(0);
  125. }], AC_DEFINE(HAVE_TERMIO) PTY_TYPE=termio)
  126.  
  127. # now check for the new style ttys (not yet posix)
  128. echo checking for struct termios
  129. AC_TEST_PROGRAM([#include <termios.h>
  130. main()
  131. {
  132.   struct termios tmp;
  133.   exit(0);
  134. }], AC_DEFINE(HAVE_TERMIOS) PTY_TYPE=termios)
  135.  
  136. # finally check for Cray style ttys
  137. echo checking for Cray-style ptys
  138. SETUID="@:"
  139. AC_TEST_PROGRAM([
  140. main(){
  141. #ifdef CRAY
  142.         return 0;
  143. #else
  144.     return 1;
  145. #endif
  146. }
  147. ], PTY_TYPE=unicos SETUID="chmod u+s", )
  148. #
  149. # Check for select and/or poll. If both exist, we prefer select.
  150. # if neither exists, define SIMPLE_EVENT.
  151. #
  152. select=0
  153. poll=0
  154. AC_FUNC_CHECK(select, select=1)
  155. AC_FUNC_CHECK(poll,   poll=1)
  156. if test $poll -a $select ; then
  157.   EVENT_TYPE=select
  158.   poll=0
  159. elif test $poll ; then
  160.   EVENT_TYPE=poll
  161. elif test $select ; then
  162.   EVENT_TYPE=select
  163. else
  164.   AC_DEFINE(SIMPLE_EVENT)
  165. fi
  166.  
  167. #
  168. AC_HAVE_FUNCS(getpty)
  169. AC_HAVE_FUNCS(_getpty)
  170.  
  171. # SETUID="@:"
  172.  
  173. #
  174. # Set up makefile substitutions
  175. #
  176. AC_SUBST(PTY_TYPE)
  177. AC_SUBST(EVENT_TYPE)
  178. AC_SUBST(SETUID)
  179. AC_OUTPUT(Makefile)
  180.